Software systems as complex networks: structure, function, and evolvability of software collaboration graphs
نویسنده
چکیده
Software systems emerge from mere keystrokes to form intricate functional networks connecting many collaborating modules, objects, classes, methods, and subroutines. Building on recent advances in the study of complex networks, I have examined software collaboration graphs contained within several open-source software systems, and have found them to reveal scale-free, small-world networks similar to those identified in other technological, sociological, and biological systems. I present several measures of these network topologies, and discuss their relationship to software engineering practices. I also present a simple model of software system evolution based on refactoring processes which captures some of the salient features of the observed systems. Some implications of object-oriented design for questions about network robustness, evolvability, degeneracy, and organization are discussed in the wake of these findings.
منابع مشابه
Evaluating Software Evolvability
Software evolution is characterized by inevitable changes of software and increasing software complexities, which in turn may lead to huge cost unless rigorously taking into account change accommodations. This has intensified the need on evolvable software systems that can correspond to changes in a costeffective way. Nevertheless, although software evolvability is one of the most important qua...
متن کاملWhat Is Resilience and How Can It Be Nurtured? A Systematic Review of Empirical Literature on Organizational Resilience
Background Recent health system shocks such as the Ebola outbreak of 2014–2016 and the global financial crisis of 2008 have generated global health interest in the concept of resilience. The concept is however not new, and has been applied to other sectors for a longer period of time. We conducted a review of empirical literature from both the health and other sectors to synthesize evidence on ...
متن کاملScale-Free Nature of Java Software Package, Class and Method Collaboration Graphs
Software collaboration graphs for two Open Source software projects written in the Java programming language, the Kowari Metastore and JRDF, were analyzed for fifteen-month periods of development. Collaboration graphs were produced at the package, class and method levels. The collaboration graphs were found to form networks which exhibited approximately scale-free properties at all three levels...
متن کاملSurvey the Security Function of Integration of vehicular ad hoc Networks with Software-defiend Networks
In recent years, Vehicular Ad Hoc Networks (VANETs) have emerged as one of the most active areas in the field of technology to provide a wide range of services, including road safety, passenger's safety, amusement facilities for passengers and emergency facilities. Due to the lack of flexibility, complexity and high dynamic network topology, the development and management of current Vehicular A...
متن کاملIntegrating software packages for the analysis of biological pathway networks
Interactions at the cellular level are essential for maintaining the fundamental life processes in biological systems. The relationships that are established due to the biochemical reactions occurring within the cells often give rise to extremely complex network structures that may be conveniently represented by bipartite graphs; such networks are often known as biological pathway graphs (BPGs)...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Physical review. E, Statistical, nonlinear, and soft matter physics
دوره 68 4 Pt 2 شماره
صفحات -
تاریخ انتشار 2003